package com.info.zhiduoduo.repository.dto.taxer;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.info.zhiduoduo.common.excelconverter.IntFlagConverter;
import com.info.zhiduoduo.common.excelconverter.InvoiceTypeConverter;
import com.info.zhiduoduo.common.excelconverter.MakerTypeConverter;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 *  发票列表
 * </p>
 *
 * @author bob
 * @since 2019-11-17
 */
@Data
@Accessors(chain = true)
public class TaxerInvoiceDto {

	@ApiModelProperty("发票申请id")
	@ExcelIgnore
	private Integer invoiceid;
	@ApiModelProperty("项目id")
	@ExcelIgnore
	private Integer projectid;

	@ApiModelProperty("申请编号")
	@ExcelIgnore
	private String applyno;

	@ApiModelProperty("发票类型 1：普票 2：专票")
	@ExcelProperty(value = "发票类型",index = 6,converter = InvoiceTypeConverter.class )
	private Integer invoiceType;

	@ApiModelProperty("发票内容")
	@ExcelProperty(value = "开票内容",index = 7)
	private String invoiceContent;

	@ApiModelProperty("开票地ID")
	@ExcelIgnore
	private Integer taxCity;

	@ApiModelProperty("开票地")
	@ExcelProperty("开票地")
	private String taxCityName;

	@ApiModelProperty("发票金额转账凭证图片")
	@ExcelIgnore
	private String receiptImg;

	@ApiModelProperty("发票金额")
	@ExcelProperty(value = "含税金额",index = 8)
	private BigDecimal amount;

	@ApiModelProperty("合伙人基础服务费率")
	@ExcelIgnore
	private double partnerBaseServiceRate;

	@ApiModelProperty("合伙人基础服务费")
	@ExcelIgnore
	private double partnerBaseServiceCharge;

	@ApiModelProperty("合伙人项目服务费率")
	@ExcelIgnore
	private double partnerProjectServiceRate;

	@ApiModelProperty("合伙人项目服务费")
	@ExcelIgnore
	private double partnerProjectServiceCharge;

	@ApiModelProperty("开票服务费")
	@ExcelProperty("开票服务费")
	private BigDecimal serviceCharge;

	@ApiModelProperty("开票税费")
	@ExcelIgnore
	private BigDecimal taxFee;

	@ApiModelProperty(" 用户实际总待付金额(合伙人项目服务费+税费")
	@ExcelProperty(value = "服务费+税金",index = 9)
	private BigDecimal totalCharge;

	@ApiModelProperty("发票邮箱")
	@ExcelIgnore
	private String invoiceEmail;

	@ApiModelProperty("销售方id")
	@ExcelIgnore
	private Integer userid;

	@ApiModelProperty("创客类型：1：塾人 2： ")
	@ExcelProperty(value = "发票类型",index = 10,converter = MakerTypeConverter.class )
	private Integer makerType;

	@ApiModelProperty("工作室名")
	@ExcelProperty(value = "销售方",index = 5)
	private String username;

	@ExcelProperty(value = "创客临时登陆类型", converter = IntFlagConverter.class)
	@ApiModelProperty("是否为临时登陆类型: 0:否 1:是")
	private Integer temporaryLogin;

	@ExcelIgnore
	@ApiModelProperty("创客开户地 1天津，2共青城，3芜湖，4.普陀山，5徐州")
	private Integer openingLocation;

	@ExcelProperty("创客开户地")
	@ApiModelProperty("创客开户地 1天津，2共青城，3芜湖，4.普陀山，5徐州")
	private String openingLocationName;

	@ApiModelProperty("工作室纳税人识别号")
	@ExcelIgnore
	private String studioCreditcode;

	@ApiModelProperty("工作室地址")
	@ExcelIgnore
	private String studioAddr;

	@ApiModelProperty("工作室电话")
	@ExcelIgnore
	private String studiophone;

	@ApiModelProperty("创客姓名")
	@ExcelIgnore
	private String realname;

	@ApiModelProperty("创客电话")
	@ExcelIgnore
	private String phone;

	@ApiModelProperty("地址")
	@ExcelIgnore
	private String addr;

	@ApiModelProperty("工作室营业执照")
	@ExcelIgnore
	private String studiolicensephoto;
	@ApiModelProperty("购买方id 企业id")
	@ExcelIgnore
	private Integer companyid;

	@ApiModelProperty("企业名")
	@ExcelProperty(value = "购买方",index = 3)
	private String companyName;

	@ApiModelProperty("企业纳税人识别码")
	@ExcelProperty(value = "统一社会信用代码",index = 4)
	private String companyCreditcode;

	@ApiModelProperty("企业地址")
	@ExcelIgnore
	private String companyAddr;

	@ApiModelProperty("企业电话")
	@ExcelIgnore
	private String companyPhone;

	@ApiModelProperty("企业银行")
	@ExcelIgnore
	private String companyBank;

	@ApiModelProperty("企业银行卡号")
	@ExcelIgnore
	private String companyAcctno;

	@ApiModelProperty("状态 1：已创建 2：已开票")
	@ExcelIgnore
	private Integer state;

	@ApiModelProperty("税户状态 1：不可开户 2：可以开户 3：已开户")
	@ExcelIgnore
	private Integer taxAcctState;

	@ApiModelProperty("服务费支付id")
	@ExcelIgnore
	private Integer payid;

	@ApiModelProperty("是否已经支付了开票服务费 1：否 2：是")
	@ExcelIgnore
	private Integer paidState;

	@ApiModelProperty("确认开票操作人id")
	@ExcelIgnore
	private Integer managerid;

	@ApiModelProperty("确认开票操作人")
	@ExcelIgnore
	private String managername;

	@ApiModelProperty("确认开票时间")
	@ExcelProperty(value = "开票时间",index = 1)
	private Date confirmtime;

	@ApiModelProperty("备注")
	@ExcelIgnore
	private String remark;

	@ExcelProperty(value = "创建时间",index = 0)
	private Date createtime;
	@ExcelIgnore
	private Date updatetime;


	@ApiModelProperty("项目名")
	@ExcelProperty(value = "项目名称",index = 2)
	private String projectname;

	@ApiModelProperty("分类ID")
	@ExcelIgnore
	private Integer categoryid;

	@ApiModelProperty("分类名")
	@ExcelIgnore
	private String categoryname;

	@ApiModelProperty("1.公开 2私密")
	@ExcelIgnore
	private Integer projecttype;

	@ApiModelProperty("项目周期")
	@ExcelIgnore
	private Integer projectcycle;

	@ApiModelProperty("项目描述")
	@ExcelIgnore
	private String projectintro;

	@ApiModelProperty("纯代理的创客，关联出绑定企业对应的商务经理")
	@ExcelProperty(value = "企业的商务经理",index = 11)
	private String businessManager;

	@ApiModelProperty("补录时间")
	@ExcelIgnore
	private String supplementTime;

	@ApiModelProperty("是否是补录：0.不是，1.是")
	@ExcelIgnore
	private String whetherSupplement;

	@ApiModelProperty("补录人员")
	@ExcelIgnore
	private String supplementPersonnel;

	@ApiModelProperty("特殊需求内容")
	@ExcelIgnore
	private String specialRequirementsContent;

	@ApiModelProperty("季度金额")
	@ExcelIgnore
	private BigDecimal quarterlyAmount;

	@ApiModelProperty("30万审批截图")
	@ExcelIgnore
	private String approvalScreenshot;

	@ApiModelProperty("是否需要30万审批截图")
	@ExcelIgnore
	private Integer isApprovalScreenshot;

	@ApiModelProperty("开户银行")
	@ExcelIgnore
	private String bankname;

	@ApiModelProperty("开户行网点名")
	@ExcelIgnore
	private String openAcctBankName;

	@ApiModelProperty("卡号")
	@ExcelIgnore
	private String acctno;

	@ApiModelProperty("交付物路径")
	@ExcelIgnore
	private String deliveryPath;

	@ApiModelProperty("合同路径")
	@ExcelIgnore
	private String contactPath;
}
